﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Olympic_email_to_future.Module;

namespace Olympic_email_to_future.IDAL
{
    public interface IMailInfo
    {

        /*******************************************************************
         * * 函数名称：getMailInfoBydefault
         * * 功    能：返回所有MailInfo列表
         * * 参    数：
         * * 返 回 值：
         * * 作    者：LHX
         * * 日    期：2013年5月25日
         * *******************************************************************/
        IList<MailInfo> getMailInfoBydefault();


        /*******************************************************************
         * * 函数名称：getMailInfoByMailAddress
         * * 功    能：按照发件地址返回邮件列表
         * * 参    数：string EmailAddress  收件人地址  如果没有
         * * 返 回 值：
         * * 作    者：LHX
         * * 日    期：2013年5月25日
         * *******************************************************************/
        IList<MailInfo> getMailInfoByMailAddress(string EmailAddress);



        /*******************************************************************
         * * 函数名称：getMailInfoByMailId
         * * 功    能：按照邮件id返回邮件
         * * 参    数：int id  邮件id
         * * 返 回 值：MailInfo对象
         * * 作    者：LHX
         * * 日    期：2013年5月27日
         * *******************************************************************/
        MailInfo getMailInfoByMailId(int mailid);



        /*******************************************************************
         * * 函数名称：deleteMialInfoByEmaiId
         * * 功    能：删除邮件
         * * 参    数：int mailid  邮件id   
         * * 返 回 值：void
         * * 作    者：LHX
         * * 日    期：2013年5月27日
         * *******************************************************************/
        void deleteMialInfoByEmaiId(int mailid);



        /*******************************************************************
         * * 函数名称：insertMailInfo
         * * 功    能：插入邮件对象
         * * 参    数：MailInfo mailinfo
         * * 返 回 值：id
         * * 作    者：LHX
         * * 日    期：2013年5月27日
         * *******************************************************************/
        int insertMailInfo(MailInfo mailinfo);



        /*******************************************************************
         * * 函数名称：getMailByCurrentTime
         * * 功    能：返回当前时间应发邮件列表
         * * 参    数：
         * * 返 回 值：IList<MailInfo>
         * * 作    者：LHX
         * * 日    期：2013年5月30日
         * *******************************************************************/
        IList<MailInfo> getMailByCurrentTime();




        /*******************************************************************
         * * 函数名称：getMailByPublic
         * * 功    能：返回公开邮件
         * * 参    数：
         * * 返 回 值：IList<MailInfo>
         * * 作    者：LHX
         * * 日    期：2013年6月2日
         * *******************************************************************/
        IList<MailInfo> getMailByPublic();



        /*******************************************************************
         * * 函数名称：updateState
         * * 功    能：更改邮件发送状态
         * * 参    数：
         * * 返 回 值：
         * * 作    者：LHX
         * * 日    期：2013年6月8日
         * *******************************************************************/
        void updateState(int mailid);

        /*******************************************************************
          * * 函数名称：updateState
          * * 功    能：更改邮件公开状态
          * * 参    数：
          * * 返 回 值：
          * * 作    者：MDL
          * * 日    期：2013年6月8日
          * *******************************************************************/
        void updatePublic(int mailid);
    }
}
